An IP (Internet Protocol) Address is an identifier for a computer or device on a TCP/IP network. Networks using the TCP/IP protocol route messages based on the IP address of the destination. The format of an IP address is a 32-bit numeric address written as four numbers separated by periods. Each number can be zero to 255. For example, 1.160.10.240 could be an IP address.
Within an isolated network, one can assign IP addresses at random, as long as each one is unique. However, connecting a private network to the Internet requires using registered IP addresses (called Internet addresses) to avoid duplicates. The four numbers in an IP address are used in different ways to identify a particular network and a host on that network. The InterNIC Registration Service (which was created in 1993 by the National Science Foundation—an independent agency of the U.S. government to provide registration services to Global Internet) assigns Internet addresses from the following three classes:                Class A—First octet 1→127—supports 16,777,214 hosts on each of 126 networks        Class B—First octet 128→191—supports 65,384 hosts on each of 16,384 networks        Class C—First octet 192→223 supports 254 hosts on each of 2 million networks        
From the earliest definition of the Internet, it was required that every address be unique. During the first 30 years of the Internet, such uniqueness was provided by the InterNIC organization, which supplied unique IP address subnets (groups of addresses). However, during the last 5 years, with the enormous growth of the Internet, most of class A and B addresses have been allocated. The next solution described in RFC 1597 was found: three different IP address subnets, in each class are reserved to the global community, and never will be supplied. It will also be defined that every standard Layer 3 router MUST ignore and NOT relay every IP datagram, which has a reserved source or destination addresses. Thus, IP addresses that do not need to contact the global internet directly could be assigned in the private IP space. The connection to Internet is done only by connection through so-called NAT or PROXY servers.
There are several desired criteria of an IP addressing system:                1. Every interface in a node must have IP address (trunk, Ethernet interface)        2. Any IP address in a particular network must be unique.        3. “Automatic” default assignment of IP addresses. The assignment scheme should allow distributing automatically IP addresses to every node in a selected communications network, without any external interference. The addresses should be “secured” and “private”.        4. The assignment scheme should allow the use of TCP/IP protocols between nodes.        5. The IP addressing scheme should allow merging of multiple networks without additional assignment work.        6. The IP addressing scheme should allow one to avoid problems with IP addressing, even in case of single or multiple node failure.        7. Preferably, the node IP address should be configurable by management. In other words, it should be possible to change a node IP address by management software. This allows a customer to use its own propriety IP addresses.        8. The IP addresses should be secured from public networks, and the Global Internet. The structure of the addresses would deny packet transitions between nodes with public IP addresses and those with addresses according to the invention. The only way to connect between these two networks should be by use of Firewall or Proxy/NAT servers.        9. There should be optimization for NON-broadcast communication. The use of IP addresses should allow simplification of NON-broadcast data transition for routing protocols, like OSPF or OSPF-TE, and DGP, which are unable to use Broadcast communication. From the point of view of these protocols, the connection between nodes should be described as a simple Point-to-Point connection.        
The simplest way to assign an IP address is to add one manually to every node during manufacturing or configuration. It is possible to receive such an address from InterNIC Registration Service or to choose randomly in the case of an isolated network. The main disadvantage of this method is the fact that an assigned IP address cannot be changed automatically, and in many cases cannot be changed at all. Thus, this conventional protocol doesn't fulfill criteria 1 and 3 above.
Automatic IP assignment is a more complicated and powerful method to obtain an IP address. A computer or device without an IP address requests a local or remote server, with unique identification (usually Hardware MAC Address is used), and receives IP addresses back, following the short list of the major IP Assignment protocols and schemes, which were released in the past 20 years.
In 1984, Reverse Address Resolution Protocol (RARP)—the first IP address assignment protocol—was released. TCP/IP uses RARP to initialize the use of Internet addressing on an Ethernet or other network that uses its own media access control (MAC). This protocol uses a remote server with a database of the IP Addresses, and communicates with it by using a hardware network layer (Layer II). This RARP protocol doesn't fulfill the criteria of 3 and 4 above.
In 1985, a new protocol was released. RFC 951 describes an IP/UDP bootstrap protocol (BOOTP), which allows a diskless client machine to discover its own IP address, the address of a server host, and the name of a file to be loaded into memory and executed. The bootstrap operation can be thought of as consisting of two phases. This RFC describes the first phase, which could be labeled ‘address determination and bootfile selection’. After this address and filename information is obtained, control passes to the second phase of the bootstrap, where a file transfer occurs. This protocol uses a remote server with a database of IP Addresses, and communicates with it by using a UDP network layer (Layer III). This BOOTP protocol does not fulfill the criteria of 3 and 4 above.
In 1993, an improved version of the BOOTP protocol was released. The Dynamic Host Configuration Protocol (DHCP) provides a framework for passing configuration information to hosts on a TCP/IP network. DHCP is based on the Bootstrap Protocol (BOOTP), adding the capability of automatic allocation of reusable network addresses and additional configuration options. DHCP captures the behavior of BOOTP relay agents, and DHCP participants can interoperate with BOOTP participants. This protocol uses a remote server with a database of IP Addresses, and communicates with it by using UDP network layer (Layer III). This DHCP protocol does not fulfill the criteria of 3 and 4 above.
The main drawback of DHCP (and also RARP and BOOTP) was a security problem. The connection between client and server is unsecured; therefore it is easy to provide a problematic IP address to a DHCP client node. There are several RFC drafts which describe an improved secure version of the DHCP. However, this secure DHCP doesn't fulfill the criterion of 4 above.
The second drawback of the DHCP scheme is reliability. Once a DHCP Server is down, the DHCP client can't receive the requested IP address. Therefore, IETF is working at present to extend the CLIENT-SERVER model of the DHCP, into a CLIENT-MULTISERVER model, which requires a SERVER-SERVER extension protocol. There are several drafts, which describe such a model. However, this Server-to-Server DHCP does not fulfill the criterion of 4 above.
Another way to solve the problem is to assign IP addresses, during Point-to-Point connection, using a Layer II protocol. The IP Control Protocol (IPCP) is responsible for configuring the IP protocol parameters on both ends of the point-to-point link. IPCP uses the same packet exchange mechanism as the Link Control Protocol (LCP). This protocol uses a point-to-point server with a database of IP Addresses, and communicates with it by using a PPP network layer (Layer II). This protocol does not fulfill the criteria of 1 and 3 above.
In short, the IP addressing schemes that are used today to assign IP addresses have different approaches and implementations, but do not fulfill the IP addressing criteria set forth above. Accordingly, there is a long felt need for an IP addressing scheme which will fulfill all the criteria listed above.